There are several known techniques for estimating the relative distance between two communication devices.
When both devices are equipped with a GPS (for “Global Positioning System”) module, the GPS signal may be used for such a purpose. However, the GPS signal is not available in an indoor context.
It is also possible to use triangulation techniques, based for example on Wi-Fi® signals. However, the accuracy of the measurement is poor. The same drawback is encountered when using position sensors, such as accelerometers or gyroscopes, embedded in the communication devices.
Communication devices, such as smartphones, are more and more frequently equipped with a camera. An interesting approach could hence make use of the camera to derive a method for estimating the relative distance between two communication devices on the basis of pictures taken by one of the devices.
Distance evaluation from pictures has been widely studied in the past. Among the numerous methods, which were suggested, Ying-Hao Yu et al. described in 2009 in “Relative Distance Estimation for Indoor Multi-Robot Control Using Monocular Digital Camera”, The University of Tasmania, Tasmania, Australia, pp. 1-6, Proceedings of the 3rd International Workshop on Artificial Intelligence in Science and Technology, an approach relying on a single picture taken with known camera parameters, in which a checkerboard with known physical dimensions was first inserted in the scene, prior to taking the picture.
More precisely, in this article, the authors describe a relative distance measurement algorithm for monocular cameras. By detecting 2D labels on the top of indoor robots, and by assuming that the floor is flat, the algorithm can estimate the relative distance between robots by calculating the perspective projection image ratio (PIPR) of labels.
A similar method is used in the application called RulerPhone (see http://benkamens.com/rulerphone/), which may be downloaded on smartphones, and which allows the user to measure any object his/her smartphone can take a picture of. To this purpose, the user needs to place any card with the exact dimensions of a credit card next to or in front of the object he/she would like to measure. He/she then needs to align the card with a blue card placeholder that RulerPhone displays on the screen, and, if needed, he/she must zoom the image until the card in the picture is the same size as the RulerPhone's blue card placeholder. Once the cards are aligned, the smartphone takes a picture, and uses the known dimensions of the card to estimate the dimensions of the object the user wishes to measure.
Such a method does not aim at estimating a distance between two objects, but rather at estimating the dimensions of an object. It is however close from the method described by Ying-Hao Yu et al., in that it relies on a picture taken by a monocular camera, and on the use of an object with known physical dimensions to make some measurement.
Though interesting, a drawback of both methods is that it is necessary to insert an object with known physical dimensions in the scene. The use of such methods is therefore restricted to a limited number of cases, where either an object with known physical dimensions is present in the scene, or where a user may interact with the method to insert such a known object in the scene, prior to taking a picture.
Moreover, it may be cumbersome for the user to align precisely the reference object with known physical dimensions with the object he/she wants to measure.
It would hence be desirable to provide a method for estimating the distance between communication devices showing improvements over the prior art.
Notably, it would be desirable to provide such a method, which would not rely on any action from a user, and would thus particularly fit Machine-to-Machine applications.
It would also be desirable to provide such a method, which would not rely on any pre-existing knowledge about the object, whose distance is to be measured.